// 蜂窝蜜造平台生成代码，如手工更改，请添加到 .beeignore 忽略生成

package com.fowo.api.entity;

import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fowo.api.common.annotaion.*;
import com.fowo.api.common.mybatis.handlers.SysFileListTypeHandler;
import com.fowo.api.sys.entity.*;
import com.fowo.api.sys.entity.SysFile;
import com.fowo.api.sys.rd2.annotation.RoleData2;
import io.swagger.v3.oas.annotations.media.Schema;
import java.io.Serializable;
import java.util.List;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;

/**
 * ListingFather
 */
@DS("ds24")
@Getter
@Setter
@TableName(value = "listing_father", autoResultMap = true)
@Schema(title = "Listing")
@RoleData2(groupId = 3, funcKey = "ListingFather")
public class ListingFather implements Serializable {

  /**
   * 编号
   */
  @TableField(value = "`id`")
  @TableId(type = IdType.ASSIGN_ID)
  @Schema(title = "编号")
  private Long id;

  /**
   * 创建人
   */
  @TableField(value = "`create_user`")
  @Schema(title = "创建人")
  private Long createUser;

  /**
   * 更新时间
   */
  @TableField(value = "`last_update_time`")
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  @Schema(title = "更新时间")
  private java.util.Date lastUpdateTime;

  /**
   * 更新人
   */
  @TableField(value = "`last_update_user`")
  @Schema(title = "更新人")
  private Long lastUpdateUser;

  /**
   * 删除标记
   */
  @TableField(value = "`del_flag`")
  @TableLogic
  @Schema(title = "删除标记")
  private Boolean delFlag;

  /**
   * 图片
   */
  @TableField(value = "`img`", typeHandler = SysFileListTypeHandler.class)
  @Schema(title = "图片")
  private List<SysFile> img;

  /**
   * MSKU
   */
  @TableField(value = "`msku`")
  @Schema(title = "MSKU")
  private String msku;

  /**
   * FNSKU
   */
  @TableField(value = "`fnsku`")
  @Schema(title = "FNSKU")
  private String fnsku;

  /**
   * 状态
   */
  @TableField(value = "`status`")
  @Schema(title = "状态")
  private String status;

  /**
   * ASIN
   */
  @TableField(value = "`asin`")
  @Schema(title = "ASIN")
  private String asin;

  /**
   * 标题
   */
  @TableField(value = "`title`")
  @Schema(title = "标题")
  private String title;

  /**
   * 父ASIN
   */
  @TableField(value = "`parent_asin`")
  @Schema(title = "父ASIN")
  private String parentAsin;

  /**
   * 品名
   */
  @TableField(value = "`product_name`")
  @Schema(title = "品名")
  private String productName;

  /**
   * SKU
   */
  @TableField(value = "`sku`")
  @Schema(title = "SKU")
  private String sku;

  /**
   * 店铺
   */
  @TableField(value = "`shop`")
  @JoinField(ShopInfo.class)
  @Schema(title = "店铺")
  private Long shop;

  /**
   * 站点
   */
  @TableField(value = "`region`")
  @JoinField(SysRegion.class)
  @Schema(title = "站点")
  private Long region;

  /**
   * 分类
   */
  @TableField(value = "`classify`")
  @JoinField(Classify.class)
  @Schema(title = "分类")
  private Long classify;

  /**
   * 品牌
   */
  @TableField(value = "`brand`")
  @JoinField(Brand.class)
  @Schema(title = "品牌")
  private Long brand;

  /**
   * 配送方式
   */
  @TableField(value = "`distribution_type`")
  @Schema(title = "配送方式")
  private String distributionType;

  /**
   * 总价
   */
  @TableField(value = "`total_price`")
  @Schema(title = "总价")
  private java.math.BigDecimal totalPrice;

  /**
   * 销售价格
   */
  @TableField(value = "`landed_price`")
  @Schema(title = "销售价格")
  private java.math.BigDecimal landedPrice;

  /**
   * 价格
   */
  @TableField(value = "`price`")
  @Schema(title = "价格")
  private java.math.BigDecimal price;

  /**
   * 优惠价
   */
  @TableField(value = "`discounts`")
  @Schema(title = "优惠价")
  private java.math.BigDecimal discounts;

  /**
   * 可售量
   */
  @TableField(value = "`afn_fulfillable_quantity`")
  @Schema(title = "可售量")
  private Integer afnFulfillableQuantity;

  /**
   * 待调仓
   */
  @TableField(value = "`reserved_fc_transfers`")
  @Schema(title = "待调仓")
  private Integer reservedFcTransfers;

  /**
   * 调仓中
   */
  @TableField(value = "`reserved_fc_processing`")
  @Schema(title = "调仓中")
  private Integer reservedFcProcessing;

  /**
   * 待发货
   */
  @TableField(value = "`reserved_customerorders`")
  @Schema(title = "待发货")
  private Integer reservedCustomerorders;

  /**
   * 计划入库
   */
  @TableField(value = "`afn_inbound_working_quantity`")
  @Schema(title = "计划入库")
  private Integer afnInboundWorkingQuantity;

  /**
   * 在途
   */
  @TableField(value = "`afn_inbound_shipped_quantity`")
  @Schema(title = "在途")
  private Integer afnInboundShippedQuantity;

  /**
   * 入库中
   */
  @TableField(value = "`afn_inbound_receiving_quantity`")
  @Schema(title = "入库中")
  private Integer afnInboundReceivingQuantity;

  /**
   * 不可售
   */
  @TableField(value = "`afn_unsellable_quantity`")
  @Schema(title = "不可售")
  private Integer afnUnsellableQuantity;

  /**
   * 预估FBA费
   */
  @TableField(value = "`fba_fee`")
  @Schema(title = "预估FBA费")
  private java.math.BigDecimal fbaFee;

  /**
   * 平台费
   */
  @TableField(value = "`referral_fee`")
  @Schema(title = "平台费")
  private java.math.BigDecimal referralFee;

  /**
   * FBM库存
   */
  @TableField(value = "`fbm_inventory`")
  @Schema(title = "FBM库存")
  private Integer fbmInventory;

  /**
   * 大类排名
   */
  @TableField(value = "`ranking`")
  @Schema(title = "大类排名")
  private String ranking;

  /**
   * 大类排名所属的类别
   */
  @TableField(value = "`seller_category`")
  @Schema(title = "大类排名所属的类别")
  private String sellerCategory;

  /**
   * 星级评分
   */
  @TableField(value = "`last_star`")
  @Schema(title = "星级评分")
  private String lastStar;

  /**
   * 评论条数
   */
  @TableField(value = "`review_num`")
  @Schema(title = "评论条数")
  private Integer reviewNum;

  /**
   * 创建时间
   */
  @TableField(value = "`create_time`")
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  @Schema(title = "创建时间")
  private java.util.Date createTime;

  /**
   * 负责人
   */
  @TableField(value = "`principal`", typeHandler = JacksonTypeHandler.class)
  @JoinField(SysUser.class)
  @Schema(title = "负责人")
  private List<Long> principal;

  /**
   * 配对方式
   */
  @TableField(value = "`pair_type`")
  @Schema(title = "配对方式")
  private String pairType;

  /**
   * 备注
   */
  @TableField(value = "`remark`")
  @Schema(title = "备注")
  private String remark;

  /**
   * 商品备注
   */
  @TableField(value = "`product_remark`")
  @Schema(title = "商品备注")
  private String productRemark;

  /**
   * 商品开售时间
   */
  @TableField(value = "`sale_date`")
  @Schema(title = "商品开售时间")
  private java.util.Date saleDate;

  /**
   * 商品首单时间
   */
  @TableField(value = "`first_order_date`")
  @Schema(title = "商品首单时间")
  private java.util.Date firstOrderDate;

  /**
   * 配对状态
   */
  @TableField(value = "`pair_status`")
  @Schema(title = "配对状态")
  private String pairStatus;

  /**
   * 配对产品
   */
  @TableField(value = "`pair_product`")
  @JoinField(Product.class)
  @Schema(title = "配对产品")
  private Long pairProduct;

  /**
   * 商品描述
   */
  @TableField(value = "`product_description`")
  @Schema(title = "商品描述")
  private String productDescription;

  /**
   * 摘要
   */
  @TableField(value = "`bullet_point`")
  @Schema(title = "摘要")
  private String bulletPoint;

  /**
   * 搜索词
   */
  @TableField(value = "`search_terms`")
  @Schema(title = "搜索词")
  private String searchTerms;

  /**
   * Amazon分类
   */
  @TableField(value = "`amazon_classify`")
  @Schema(title = "Amazon分类")
  private String amazonClassify;

  /**
   * 商品类型
   */
  @TableField(value = "`product_type`")
  @Schema(title = "商品类型")
  private String productType;

  /**
   * 销售类型
   */
  @TableField(value = "`sales_type`")
  @Schema(title = "销售类型")
  private String salesType;

  /**
   * GTIN豁免
   */
  @TableField(value = "`gtin`")
  @Schema(title = "GTIN豁免")
  private String gtin;

  /**
   * 商品编码
   */
  @TableField(value = "`product_code`")
  @Schema(title = "商品编码")
  private String productCode;

  /**
   * 制造商
   */
  @TableField(value = "`manufacturer`")
  @Schema(title = "制造商")
  private String manufacturer;

  /**
   * 货币
   */
  @TableField(value = "`currency`")
  @Schema(title = "货币")
  private String currency;

  /**
   * 运费
   */
  @TableField(value = "`shipping`")
  @Schema(title = "运费")
  private String shipping;

  /**
   * 积分
   */
  @TableField(value = "`points`")
  @Schema(title = "积分")
  private String points;

  /**
   * 亚马逊定义的listing的id
   */
  @TableField(value = "`listing_id`")
  @Schema(title = "亚马逊定义的listing的id")
  private String listingId;

  /**
   * 店铺id
   */
  @TableField(value = "`sid`")
  @Schema(title = "店铺id")
  private String sid;

  /**
   * 商品的数量
   */
  @TableField(value = "`quantity`")
  @Schema(title = "商品的数量")
  private Integer quantity;

  /**
   * 配对更新时间
   */
  @TableField(value = "`pair_update_time`")
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  @Schema(title = "配对更新时间")
  private java.util.Date pairUpdateTime;

  /**
   * 优惠开始日期
   */
  @TableField(value = "`discounts_beg_date`")
  @Schema(title = "优惠开始日期")
  private java.util.Date discountsBegDate;

  /**
   * 优惠结束日期
   */
  @TableField(value = "`discounts_end_date`")
  @Schema(title = "优惠结束日期")
  private java.util.Date discountsEndDate;

  /**
   * 图片地址
   */
  @TableField(value = "`image_url`")
  @Schema(title = "图片地址")
  private String imageUrl;
}
